The present invention relates generally to the field of data collection, and more particularly to collecting monitoring data on a set of monitored computers.
Software Asset Management (SAM) is the practice used by organizations to reduce IT costs and maximize return on investments by optimizing the purchasing, deploying, and maintaining of software applications. There are several technologies and tools which can be used to implement and support the SAM process such as software inventory tools, license managers, application control tools, software deployment tools, request management tools, and patch management tools.
Software inventory tools are used to discover installed software over an organization's computer networks. These tools allow administrators to determine what software is installed on computers and servers and also provide information such as product IDs, program size, date installed, location on the hard disk, and installed version. Software license managers provide organizations with the ability to control what software applications are permitted to execute in their environments and where they can execute. Software license managers protect organizations from losses due to software piracy and also enable them to comply with software license agreements. Software license manager tools provide a repository of current license entitlements which can be cross-referenced with information from software inventory tools to provide a view of an organization's software licensing compliance. Application control tools restrict what software can be installed and executed on computers within an organization. For example, applications installed from unofficial sources may be more likely to contain malicious code aimed at disrupting operations or stealing confidential information. Other benefits of application control include restricting the use of non-business applications to improve network performance or comply with HR guidelines, and managing endpoint configurations to enhance security.
Software deployment tools automate the deployment activities of new software. These activities include releasing new software, managing the installation and activation process, deactivating or removing selected software, updating, and retiring software applications. Request management tools allow organizations to manage and track software applications by requiring employees to place requests for applications. Patch management tools automate software application patches, which ensure all computers are using the latest and most secure software.
Software asset management solutions' capacities are hard to scale, sometimes resulting in applications that do not meet current requirements for medium, large enterprise, or cloud environments. Software asset management discovery is based on defined scan groups, and schedules scans of the hardware and software topology. For example, agents may perform scans only within a given period of time, which limits discovery to a single scan result within the given period. In this manner, real time discovery is not possible. If agents were configured to scan on a daily basis in a large scale environment, then the number of executable files and instances of each could result in massive volumes of data generated and could overload the SAM server.